package array
{
	import flash.utils.ByteArray;
	
	import util.BytesUtil;

	public dynamic class NsSetArray extends Array
	{
		public function NsSetArray(...parameters)
		{
			super(parameters);
		}
		
		/**
		 * ns_set_info
		 * { 
		 * 		u30 count 
		 * 		u30 ns[count] 
		 * } 
		 * ns_set_info中存储的命名空间的集合，其数组ns中的元素是常量池中命名空间类型常量的索引。
		 * */
		
		public function fill(bytes:ByteArray, arr:NsArray):void
		{
			var count:uint = BytesUtil.readU30(bytes);
			this[0] = [];
			if(count > 0){
				for(var i:int = 0; i < count; i++){
					var length:int = BytesUtil.readU30(bytes);
					this[i] = [];
					for(var j:int = 0; j < length; j++){
						this[i][j] = arr[BytesUtil.readU30(bytes)];
					}
				}
			}
		}
	}
}